﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Modelo;
using BaseDatos;
namespace Proceso
{
    public static class GestorAlmacen
    {
        public static void RegistrarUnAlmacén(Producto producto, string cantidad, string stockminimo,string fechaVenc, string fechaElab)
        {
            try
            {
                if (cantidad == "")
                    throw new Exception("La cantidad es un campo obligatorio");
                if (stockminimo == "")
                    throw new Exception("El stock mínimo es un campo obligatorio");
                if (fechaVenc == "" || fechaElab == "")
                    throw new Exception("La fecha es un campo obligatorio");
                DateTime fechaIni = DateTime.Parse(fechaElab);
                DateTime fechaFin = DateTime.Parse(fechaVenc);
                Lote lote = new Lote();
                lote.Agotado = false;
                lote.Caducado = false;
                int cant;
                if (!int.TryParse(cantidad, out cant))
                    throw new Exception("Error en el formato de cantidad");
                lote.Cantidad = cant;
                lote.FechaElaboracion = fechaIni;
                lote.FechaVencimiento = fechaFin;
                lote = BDLote.insertarNuevoLote(lote);
                Almacen al = new Almacen();
                al.lote = lote;
                al.producto = producto;
                if(! int.TryParse(stockminimo,out cant))
                    throw new Exception("Error en el formato de stock mínimo");
                al.stockMinimo = cant;
                BDAlmacen.InsertarAlmacen(al);
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        public static List<LoteAlmacen> casiCaducados()
        {
            try
            {
                return BDAlmacen.casiCaducados();
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
    }
}
